;设置数据段段寄存器 ds 值为 0b800h
;0b800h 是显卡在文本模式下显存起始位置
mov ax, 0b800h
mov ds, ax

;相对于 0b800h 这个地址，将字符写入到对应的位置上
mov byte [0x00],'H'
mov byte [0x02],'e'
mov byte [0x04],'l'
mov byte [0x06],'l'
mov byte [0x08],'o'
mov byte [0x0a],','
mov byte [0x0c],'2'
mov byte [0x0e],'0'
mov byte [0x10],'2'
mov byte [0x12],'2'
mov byte [0x14],'!'

;jmp $ 就是跳转到当前地址，所以这是一个死循环
;不会继续执行下面的程序了
jmp $

; times: 重复后面的内容，$ 表示当前位置，$$ 表示起始位置
; 510-($-$$) 计算出要填满前 510 还需要多少个字节
; 所以下面这一行就代表将前 510 字节中剩下的字节填 0
times 510-($-$$) db 0
; 用 0x55 0xaa 结尾，表示这是一个 MBR 
db 0x55,0xaa